SystemVerilog验证学习经历分享

您所在的位置:网站首页 system verilog语法 SystemVerilog验证学习经历分享

SystemVerilog验证学习经历分享

2023-03-27 03:59| 来源: 网络整理| 查看: 265

如果你有梦想,就要守护它。——《当幸福来敲门》前言:

接上篇讨论完Verilog, 今天这篇文章主要想和大家分享一下我学习systemverilog(以下由SV代替)验证的经历。成为一名芯片验证打工人已经一个月有余了,很幸运在公司的这段时间里一直有同事指导我入职的学习(在学校阶段我是基本没有使用过SV的),让我很顺利地完成从学生到工程师的过渡阶段。我想把这段时间学习过的内容总结一下,希望能够给大家一些能够借鉴的地方。本文主要分为两个部分:

学习SV的参考资料搁浅谈学习验证的心得体会第一部分:学习SV的参考资料

话不啰嗦,先罗列一下我在学习阶段最经常用到的几个参考资料(顺序按照我查阅的频繁程度):

公司培训资料http://chipverify.comSystemVerilog Language Reference ManualSystemVerilog验证(“绿皮书”)

看到这里,可能大家也猜到我接下来想要说的了,也就是我个人认为学习芯片验证最快的方法还是在公司里面。所以如果让我从头再学习SV验证的话我肯定会先选择去一个比较好的公司实习一段时间。但相信有一些朋友因为各种不便可能没法到公司实习,没有关系,撇开在公司能够学到的东西。我觉得用以上几个资源也能学到很多东西。

1. http://chipverify.com

首先说一说这个chipverify的学习网站。这个网站也是我在上学时期我的室友推荐给我的。起初是为了学习verilog,但因为发现了更好的学习资料(看上篇)所以之后就没有再碰这个网站。直到后来接触SV的时候看“绿皮书”这本书实在是难以下咽(似曾相识的一幕)。相信学习验证的朋友们在刚开始都被推荐过这本“绿皮书”吧。

对不起,搞错了哈哈哈哈

SystemVerilog for Verification

这本书好是好,就是写的太细了,我在看到后面就把前面的基本都忘掉了。这太不“只见森林,不见树木”了,所以没看多少我就放弃了。虽然这本书已经极力把本来将近1000页的参考手册压缩到了一半以下,但对我来说还是太长了。

chipverify网站上对于环保的呼吁

而chipverify这个网站其实也是一种浓缩版的参考手册。不过这个网站是浓缩中的浓缩,可以说是食堂大妈给你kuai了一勺全是肉的辣椒小炒肉。这个网站在最开始的时候先给初学者简单的介绍了一个比较庞大的概念——验证环境,我觉得还是很有必要的,在开始的时候先从验证的架构建立起一个简单的感念。这帮助我在后面的小模块学习里面能联想到其在验证环境里面的作用。

这个学习网站的特点:

作者也并不是全部照抄参考手册,有一些值得新手工程师比如我注意的地方还是非常nice的提醒到了,而且一些比较容易混淆的概念也都帮我们总结好了。这对于我来说真的是太方便了,因为我已经基本不会再像学校里面那样去总结一些琐碎的知识点了。

再者,这个网站对每个知识点的讲解也都恰到好处,只需要一点Verilog的基础就能够理解,没有也不用担心,因为作者很贴心的附上了链接,直接在这个网站上的Verilog部分复习一下就好了。每个知识讲解的深度也恰到好处,不会在一开始就把人搞得晕头转向。所以如果当你也有些看不下去“绿皮书”的时候不妨浏览一下这个网站。

但是,森林终究是森林,作为工程师还是要在一根根树木之间穿梭。所以到后面有一定基础的时候也应该果断放弃这个网站,去查阅一下更全面的资料。

2. SystemVerilog Language Reference Manual(LRM)

作为SV第一手资料,它很重要,但不至于重要的每天都要捧在手心去研读它。SV作为一个验证经典工具,LRM就像一本使用手册一样。应该在后面的学习中遇到一些比较困惑的且非常有用的知识点的时候把它掏出来琢磨琢磨。

当然,直接在一些权威论坛上面搜索别人已经总结好的知识点也是一种方法,不但节省了我们思考的时间而且一些有价值的总结对于提升工作效率更有帮助。但个人认为在职业生涯的初期,尤其是对于像芯片工作者这种学习周期非常长的职业来说,从第一手资料上去思考问题,解决问题锻炼了我们的个人能力。我的老板告诉我,其实在以后的工作中有些问题是很难找到相关资料的,因为遇到相同问题而又分享出来的人太少了!

SystemVerilog Language Reference Manual(LRM)

学习SV的参考资料其实“很多”。“很多”的意思是能够给我们去查阅的内容非常多,但是种类都非常单一,都不过是这个参考手册的附属品。而且我觉得也不适合我这种新手学习(如果你也是像我一样不喜欢一头扎进语法书里的人)。我的前辈最经常告诉我的一句话就是在刚开始学习验证的时候只需要“只见森林,不见树木”就好了。然而验证也是有他自己本身的理论知识的,也就是验证方法学。我们都知道验证是验证芯片定义的功能能不能正常实施,但是怎么去验证,怎么去找错误,分析错误的原因,以及验证到什么程度,这些不光需要对设计有一定的理解(当然不是像设计工程师那么深的理解),还需要对验证环境有个大体的认识才行。

3. SystemVerilog验证(“绿皮书”)

最后一个我想简单聊聊的就是“绿皮书”了。

同样地,市面上还有许多像绿皮书一样的教材,但是绿皮书这本书作为最广为人知的书还是有它的优势的,比如说对一些重点部分的讨论,还有一些在实际工作中容易出现问题的错误,也都在书中提出来了。

“绿皮书”可能不适合在最开始接触Systemverilog的时候阅读,但是在有一定基础了之后,“绿皮书”一定能够算是我们工程师的一位朋友。然而我对“绿皮书“的内容掌握的还不是很多,这里也就不详谈了。

第二部分:搁浅谈学习验证的心得体会

SV只是验证工作中的一个重要工具,也是核心技能之一。目前我对于验证方面的学习也才刚刚开始,我想分享出来我的经历的初衷也是希望能够帮助后面入行的朋友一些能够借鉴的东西。

验证如果只是把它当作一种设计的附属品或者工具来说真的是太不公平了,因为验证也有自己的一套理论,比如说统一验证方法学等等。而且即使掌握了很多工具之后,如果不了解需要被验证的设计是怎么工作的以及整个验证环境是怎么运作的,那真的就跟程序员没有什么两样了。

所以我的感觉就是在初期对于工具的掌握程度不需要很高,更重要的是理解验证环境中的flow。就像设计一样,我们有各种抽象层,其实在验证环境当中我们也有不同的抽象层。验证环境其实也是一套层次结构。在设计当中我们要熟悉信号是怎么在不同模块中被传输的,验证环境中我们也要了解包是怎么在不同模块中传递的,然后是怎么和DUV(Design Under Verification)产生互动的。

总结:

总的来说,验证与设计一样也有许多需要学习的内容。而作为工程师更要对工具掌握地非常熟练。这在上一篇也有谈到过。很幸运在我初入职场就遇到了很棒的同事与领导。欢迎大家评论,提出不同有意思的看法。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3